package com.ruoyi.datastatistics.service;

import com.ruoyi.datastatistics.domain.recvdata.RecvData;
import com.ruoyi.datastatistics.domain.recvdata.RecvDataDb;
import com.ruoyi.datastatistics.domain.recvdata.RecvDataXb;

/**
 * @author TsingYu
 * @version 1.0
 * @date 2025/2/18 16:22
 */
public interface RecvDataService {
    /**
     * 把接收到的数据存入中间库
     *
     * @param recvData 接收到的数据
     * @return 是否成功
     */
    boolean saveRecvData(RecvData recvData);

    /**
     * 把接收到的数据存入中间库
     *
     * @param recvData 接收到的数据
     * @return 是否成功
     */
    boolean saveRecvDataXb(RecvDataXb recvData);

    /**
     * 保存户表实时数据
     *
     * @param recvData 接收到的数据
     * @return 是否成功
     */
    boolean saveRealtimeDataXb(RecvDataXb recvData);

    /**
     * 保存户表历史数据
     */
    void saveHistoryDataXb();

    /**
     * 把接收到的大表数据存入中间库
     *
     * @param recvData 接收到的数据
     * @return 是否成功
     */
    boolean saveRecvDataDb(RecvDataDb recvData);

    /**
     * 保存大表历史数据
     */
    void saveHistoryDataDb();

    /**
     * 定时清理中间库数据
     */
    void deleteRecvDataRegularly();
}
